Skip to content

ci: add standard CI requirements shadow outputs#29742

Closed
Qbandev wants to merge 1 commit into
mainfrom
mcwp-440-standard-ci-requirements-shadow
Closed

ci: add standard CI requirements shadow outputs#29742
Qbandev wants to merge 1 commit into
mainfrom
mcwp-440-standard-ci-requirements-shadow

Conversation

@Qbandev
Copy link
Copy Markdown
Contributor

@Qbandev Qbandev commented May 5, 2026

Description

This PR extends the reusable get-requirements workflow with shadow-only standard/locales CI decisions.

It adds these outputs:

  • locales_only
  • locales_validation_needed
  • standard_ci_needed
  • requirements_enforced

It also adds a GITHUB_STEP_SUMMARY section that reports changed-file classification, existing E2E decisions, standard/locales decisions, enforcement state, and the future standard-CI skip mapping.

No standard CI jobs consume these outputs yet, so CI execution remains unchanged. This is only to collect validation data before enforcement.

Reviewer note: the new shadow step defines its own ALL_CHANGES_COUNT environment binding from the existing paths-filter output. The E2E step already reads the same output separately; this is intentional because step-level env bindings are scoped to each step.

Changelog

CHANGELOG entry: null

Related issues

Refs: MCWP-440

Manual testing steps

N/A - workflow-only change. Local validation:

  • ruby -e "require 'yaml'; YAML.load_file('.github/workflows/get-requirements.yml')"
  • actionlint -color -config-file .github/actionlint.yaml .github/workflows/get-requirements.yml
  • git diff --check

Screenshots/Recordings

Before

N/A

After

N/A

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

@Qbandev Qbandev self-assigned this May 5, 2026
@github-actions github-actions Bot added the pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. label May 5, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@github-actions github-actions Bot added the size-M label May 5, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 5, 2026

@Qbandev
Copy link
Copy Markdown
Contributor Author

Qbandev commented May 5, 2026

Closing: PR 1 + PR 2 are sufficient for MCWP-440

After data-driven analysis, the shadow outputs and future enforcement (PR 3 + PR 4) are not justified at this time.

What PR 1 + PR 2 already deliver:

What PR 3 + PR 4 would have added:

  • Skip standard CI jobs (lint, unit tests, component tests, etc.) for locale-only PRs.
  • Saves ~265 cost-equivalent runner-minutes per locale PR, mostly on cheap GitHub ubuntu-latest runners.
  • ~21 minutes wall-clock time per locale PR.

Why it does not justify the complexity:

  • Only 32 locale-only PRs in the last 6 months (~5.3/month), 30 of which are automated Crowdin bot submissions with no human waiting on CI feedback.
  • The additional savings are ~1,405 cost-equivalent ubuntu-minutes/month -- modest given the complexity of dynamic planned-skip support, enforcement variables, shadow soak period, and ongoing skip/keep classification maintenance.

Reopen conditions:

  • Locale PR frequency increases significantly (e.g., daily Crowdin syncs).
  • Merge queue throughput is measured as a bottleneck during release cuts.
  • The pattern extends to other skip categories (docs-only, assets-only) where gate complexity pays for itself across multiple consumers.

Full analysis and plan preserved in the MCWP-440 Jira ticket.

@Qbandev Qbandev closed this May 5, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators May 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. size-M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant